//发送ajax请求的功能函数
/* 一:封装功能函数
    1.功能点明确
    2.函数内部保留固定的代码(静态代码)
    3.将动态的数据 由使用者提供最终的数据 以形参的形式提取
    4.一个良好的功能函数应该设置默认值
二:封装功能组件
    1.功能点明确
    2.组件内部应该保留静态代码
    3.将动态的数据提取,由使用者提供最终的数据
    4.一个良好的组件应该设置组件props数据的必要性以及数据类型

// */
// import config from './config'
// export default (url, data = {}, method = 'GET') => {
//     return new Promise((resolve, reject) => {
//         //1.修改初始化promise状态为pedding
//         //2.执行异步任务
//         //url: config.host + url,
//         wx.request({
//             url: config.host + url,
//             data,
//             method,
//             //3.根据异步任务的结果修改promise的状态
//             success: (res) => {
//                 resolve(res.data)//修改promise的状态为resovled
//             },
//             fail: (error) => {
//                 reject(error)//修改promise的状态为rejected

//             }
//         })
//     })

// }
import config from "./config";

let cookie = wx.getStorageSync('cookies') ? JSON.parse(wx.getStorageSync('cookies')).find(item => item.indexOf('MUSIC_U') !== -1) : ''

export default (url, data = {}, method = "GET") => {
    return new Promise((resolve, reject) => {
        wx.request({
            url: config.host + url,
            data,
            method,
            //将cookie放入请求头当中
            header: {
                cookie,
            },
            success: (res) => {
                //登录成功
                if (data.isLogin) {
                    wx.setStorageSync("cookies", JSON.stringify(res.cookies));
    
                }
                resolve(res.data);
            },
            fali: (error) => {
                reject(error);
            },
        });
    });
};